package com.cskaoyan.javase.overload._1basic;

/**
 * @description: 为什么方法的重载必须要求形参列表不同?
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * 方法的调用必须能够让编译器明确找个某个方法,当方法名相同时,如果形参列表还相同的话,那其实就是一个方法.所以就无从找到对应的方法了
 *
 * 当形参列表不同时,编译器可以根据不同的形参列表找到对应的方法
 *
 * 就近原则: 在java程序设计中,就近原则是一个普遍的原则,当存在多种情况都能够匹配的时候
 *      优先选择最近的
 *
 *
 */
public class Demo {
    public static void main(String[] args) {
        //test(10);
        //Ambiguous method call: both 'Demo.test(int, double)' and 'Demo.test(double, int)' match
        test(10.0, 10);
    }
    //public static void test(){}
    //public static void test(int a){}
    //public static void test(double a){}
    //public static void test(float a){}
    //public static void test(long a){}
    public static void test(int a,double b){}
    public static void test(double a,int b){}
}
